<?php
require ('header.php');
if(!isset($_SESSION['upload_php']))
{
	$_SESSION['upload_php'] =array(
		'id_archivo_receta' => XAUTH::$user->id_user . '-' . time() 
		);
}
$_S = & $_SESSION['upload_php'];
//$_SESSION['id_archivo_receta'] = time() . XAUTH::$user->id_user;
$msg="";
if(isset($_POST['dato']))
{
	//convertimos todas las variables en utf-8
	//mb_convert_variables('UTF-8','CP1252,ASCII,ISO-8859-1,UTF-8',$_POST['dato']);
	mb_convert_variables('UTF-8','CP1252,ASCII,UTF-8,ISO-8859-1',$_POST['dato']);
	
	$_POST['dato']["usuarios_id"] = XAUTH::$user->id_user;
	$_POST['dato']["id_titulo"] = system::txtToId($_POST['dato']["titulo"]);
	
	$_SESSION['id_archivo_receta'] = null;
	//verificamos si el usuario Subio un Archivo al Servidor
	if(!empty($_S['archivo_subido']) &&	$_S['id_archivo_receta'] == $_S['archivo_subido'])
	{
		//ubicacion del archivo origen
		$path_imagen_origen = BASE_PATH ."/TEMP/" . $_S['id_archivo_receta'];
		//ubicacion exacta del archivo destino
		$path_imagen_destino = BASE_PATH ."/image/recet/". XAUTH::$user->id_user . "-".$_POST['dato']["id_titulo"] . '.' . $_S['extension'];
		//como el archivo fue subido al servidor entonces se hace uso de esta en la Base de datos
		$_POST['dato']['imagen'] = 'image/recet/' . XAUTH::$user->id_user . "-" .$_POST['dato']["id_titulo"] . '.' . $_S['extension'];
		//si lo subio obtenemos el archivo De la Carpeta Temporal y lo Ponemos Oficialmente en Nuestra Carpeta image/recet/
		
	}
	//si los Ids generados no existen
	elseif(!empty($_S['archivo_subido']) && $_S['id_archivo_receta'] != $_S['archivo_subido']) 
	{
		//por lo cual si el archivo antiguo estan aun en TEMP lo borramos para ahorrar espacio
		if(file_exists(BASE_PATH ."/TEMP/" . $_SESSION['upload_php']['archivo_subido']) )
		{
			//borramos el archivo obsoleto
			unlink(BASE_PATH ."/TEMP/" . $_SESSION['upload_php']['archivo_subido']);
		}
	}
	
	//aun hay que validar la entrada de datos
	//$agrega_receta = db_query::newInstance()->insert("recetas_descripcion",$_POST['dato']);
	$agrega_receta = DB::insert("recetas_descripcion",$_POST['dato']);
	//if($agrega_receta->affectedRows()>0)
	if($agrega_receta->execute($_POST['dato']) && $agrega_receta->rowCount() > 0)
	{
		$msg="Se agrego la receta correctamente";
		//verificamos que existencia de la Imagen
		if(isset($path_imagen_destino) && isset($path_imagen_origen))
		{
			//hacemos copia del archivo temporal a la ubicacion definitiva
			if(!copy($path_imagen_origen ,$path_imagen_destino))
			{
				$msg .=" pero algo paso con la Imagen que no se pudo guardar en la carpeta de image/recet";
				
			}
			else
			{
				//si todo va bien entonces borramos nuestra variable de SESSION
				unset ($_SESSION['upload_php']);
			}
		}
	}
	else
	{
		$msg="Error, no se pudo agregar la receta " . $agrega_receta->errorinfo(2);
	}
}
$recetas = db_query::newInstance()->select("recetas",array("*"));
if(XAUTH::$user->registered):
?>
<style type="text/css">
#upload_control
{
	margin-left : 80px;
	color:black;
	position:relative;
}
.nombre_archivo_subido
{
	overflow:hidden:
	display:block;
	text-align:right;
	color:black;
	font-size:12px;
	height:14px;
	width: 60%;
}
#upload_control .control
{
	position:absolute;
	top:0px;
	right:0px;
}
#upload_control .control a
{
	color:green;
	font-weight: bold;
}
#upload_control .control #reset_load{color:red}
#upload_control #progreso
{
	background: url("include/upload.gif") no-repeat scroll 0 0 transparent;
    color: black;
    font-size: 12px;
    height: 25px;
    line-height: 12px;
    position: relative;
    text-align: left;
	visibility: hidden;
}
#upload_control #progreso span,
#upload_control .nombre_archivo_subido span{
	 text-align: left;
	 position:absolute;
	 left:0px;
	 color:black;
	 line-height: 12px;
}
/*Escondemos el formulario para subir imagenes*/
#upload_imagen{width: 1px;
height: 1px;
overflow: hidden;
}
</style>
<script type="text/javascript" src="js/jquery.html5_upload.js"></script>
<link href="css/listado.css" rel="stylesheet" type="text/css" />
<link href="css/fonts.css" rel="stylesheet" type="text/css" />
<link type="text/css" rel="stylesheet" href="css/recipes.css">
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
<strong><?=$msg?></strong>

 <div id="listador">
	<div class="bgTit">
		<h2 class="tit">Formulario para cargar las recetas</h2>
		<h6 class="descr">
			Para cargar una receta s&oacute;lo debes rellenar este formulario. Si no tienes foto de tu plato puedes buscar una que se le parezca en nuestra base de datos.</h6>
	</div><!--end glosario-->
	<div id="container" class="carga">
		<div class="boxForm">
			<form action="carga-recet.php" id="form-carga" method="post">
				<label for="tit">T&iacute;tulo: </label><input type="text" id="tit" name="dato[titulo]" />
				<label for="cat">Categor&iacute;a: </label><select id="categoria" name="dato[recetas_id]">
					<?php while($recetas->fetchAssoc($r)):?>
					<option value="<?=$r['recetas_id']?>"><?php echo $r["nombre"];?></option>
					<?php endwhile;/**/?>
					<!--<option value="aves">Pollo, aves en general</option>
					<option value="carnes">Carnes rojas y blancas</option>
					<option value="fish">Pescados, mariscos, frutos del mar</option>
					<option value="pastas">Pastas, tartas, empanadas</option>
					<option value="salad">Ensaladas y cosas frescas</option>
					<option value="sopas">Sopas y consom&eacute;s</option>
					<option value="souffle">Souffl&eacute;s - omelettes</option>
					<option value="arroz">Arroces y legumbres</option>
					<option value="postre">Postres y cosas dulces</option>-->
				</select>
				<label for="porcion">Porciones: </label>
				<input type="text" id="porcion" name="dato[porciones]" />
				<label for="ingred">Ingredientes: </label>
				<textarea id="ingredientes" cols="90" rows="15" name="dato[ingredientes]"></textarea>
				<label for="image">Im&aacute;gen:</label>
				<div id="upload_control">
					<pre class="nombre_archivo_subido"><span></span></pre>
					<div class="control">
						<a href="#" id="reset_load" title="Resetear Los Valores">[X]</a>
						<a href="#" id="load" title="Cargar Imagen">[Cargar Imagen De la PC]</a>
						<a href="#" id="send_load">[Subir la Imagen]</a>
					</div>
					<div id="progreso"><span>Subiendo la Imagen espere Un momento ...</span></div>
				</div>
				
				<!--victor>esta de mas la parte de img
				<input type="text" id="img" />-->
				<input type="text"  name="dato[imagen]" id="image_input" placeholder="http://ejemplo.com/alguna_imagen.jpg"/>
				<button type="button" onclick="buscar_imagen()" class="btnImg" style="margin-left:-70px; height:30px;" >Buscar imagen</button>
				<label for="salsa">Salsa: </label>
				<textarea id="salsa" cols="90" rows="25" name="dato[salsa]"></textarea>
				<label for="prep">Preparaci&oacute;n: </label>
				<textarea id="preparacion" cols="90" rows="15" name="dato[preparacion]"></textarea>
				<br /><br />
				<input name="enviar" value="Cargar receta" type="submit" style="margin-left:100px;" id="boton_carga_receta" />
			</form>
			<div id="upload_imagen">
					<form id="cargar_imagen" action="include/upload.php" target="upload" enctype='multipart/form-data' method="POST">
						<input type="file" name="archivo" id="control" />
						<input type="submit" name="ya" value="Enviar Imagen al servidor" id="cargar_imagen_submit" />
						<input type="reset" value="Reset" id="cargar_imagen_reset" />
					</form>
					<iframe style="height: 10px;  width: 100%;" src="" frameborder="0" name="upload" id="upload"></iframe>
			</div>
		</div><!--end boxForm-->
	</div><!--end container-->
 </div><!--end div listador-->
<script type="text/javascript">
function elegir_imagen(url)
{
	document.getElementById('image_input').value=url;
	return true;
}
function buscar_imagen()
{
	window.open ("admin/elegir_imagen.php?dir=/image/recet", "ElegirImagen","status=0,toolbar=0");
}
var UPLOAD_BLUEBERG = {
	//para autoenviar el archivo al proceso de uploading
	time_out:null,
	fake_input_file:function()
	{
		console.log($('#control').click());
		return false;
	},

	/**
	* al momento de presionar ejecutamos el proceso o la simulacion de envio de archivo
	*/
	input_file:function(){
		if(confirm('Esta seguro de Subir esa image??'))
		{
			$('#upload_control #load').attr('style','display:none');
			$('#upload_control .nombre_archivo_subido span').text($('#control').attr('value'));
			//$('#upload_control #load').removeAttr('href').off('click');
			$('#upload_control #send_load').removeAttr('style');
			$('#upload_control #reset_load').removeAttr('style');
			
			$('#boton_carga_receta').attr('onclick','alert("Espere a que termine de subir su Imagen");return false');
			UPLOAD_BLUEBERG.time_out = setTimeout("$('#cargar_imagen').submit()",3000);
		}
		else
		{
			$('#cargar_imagen_reset').click();
			$('#upload_control #load').text($('#upload_control #load').attr('title'));
		}
	},
	/**
	* Cuando el archivo es enviado definitamente se procede a mostrar los controles correctos
	*/
	on_submit:function()
	{
		$('#upload').attr('enviado', 'enviado');
		$('#upload_control #progreso').css('visibility','visible');
		$('#boton_carga_receta').attr('disabled','disabled');
		$('#boton_carga_receta').attr('value','Subiendo la Imagen...');
		$('#image_input').attr('readonly','readonly');
		$('#upload_control #send_load').attr('style','display:none');
		if(UPLOAD_BLUEBERG.time_out)
		{
			clearTimeout(UPLOAD_BLUEBERG.time_out);
		}
	},
	//esta funcion es llamada desde el Iframe
	complete_upload:function()
	{
		//alert("datos de los archivos " + json_data);
		$('#boton_carga_receta').removeAttr('onclick');
	},
	//reseteamos los controles para tener una idea general
	reset_control:function()
	{
		if(UPLOAD_BLUEBERG.time_out)
		{
			clearTimeout(UPLOAD_BLUEBERG.time_out);
		}
		$('#upload_control .nombre_archivo_subido span').text('');
		$('#upload_control #load').removeAttr('style');
		$('#upload_control #send_load').attr('style','display:none');
		$('#upload_control #reset_load').attr('style','display:none');
		$('#image_input').removeAttr('readonly');
		$('#upload_control #progreso').removeAttr('style');
		$('#upload_control #progreso span').text('Subiendo la Imagen espere Un momento ...');
		/*if(this.time_out){
			clearTimeout(this.time_out);
			this.clearTimeout = null;
		}*/
		return false;
	}
	
}
//reseteamos los controles
UPLOAD_BLUEBERG.reset_control();
//asignamos los eventos
$('#cargar_imagen').on('submit',UPLOAD_BLUEBERG.on_submit);
$('#control').on('change',UPLOAD_BLUEBERG.input_file);
$('#upload_control #load').on('click',UPLOAD_BLUEBERG.fake_input_file);
$('#upload_control #reset_load').on('click',UPLOAD_BLUEBERG.reset_control);
//UPLOAD_BLUEBERG.submit_image
$('#upload_control #send_load').on('click',	function(evt){
		$('#cargar_imagen_submit').click();
		evt.preventDefault();
});
$('#upload').on('load',function(a){
	//console.log($('#upload').attr('src'));
	if($('#upload').attr('enviado') == 'enviado')
	{
		var iframe = null
		if(document.getElementById('upload').contentWindow)
		{
			iframe = document.getElementById('upload').contentWindow;
		}
		else if(window.frames['upload'].document)
		{
			iframe = window.frames['upload'];
		}
		
		if(!iframe.document.getElementById('iframe_upload'))
		{
			alert('La Imagen no Pudo ser cargada debido a un error'+"\n"+
			'Compruebe que su imagen sea de formato Valido y no pese mas de 2MegaByte');
			UPLOAD_BLUEBERG.reset_control();
		}
	}
	$('#upload').removeAttr('enviado');
});
</script>
<?php
 endif;
 require ('footer.html');
?>
